package part14_迭代器模式_统一遍历问题;

import java.util.Iterator;

/**
 * @ClassName: ComputerCollegeIterator
 * @Author: AllenSun
 * @Date: 2020/3/8 11:50
 */
public class ComputerCollegeIterator implements Iterator {

    //实现系统的迭代器接口，然后实现对应的方法
    //这里我们需要知道Department是以怎样的方式存放的（数组、ArrayList）
    Department[] departments;
    int position=0;//表示遍历的位置

    //需要一个构造器，把需要遍历的学院放进去，然后遍历出这个学院里所有的院系和专业

    public ComputerCollegeIterator(Department[] departments) {
        this.departments = departments;
    }


    //判断当前的元素是不是有下一个值
    @Override
    public boolean hasNext() {
        if(departments[position]==null || departments.length<=position){
            return false;//表示当前值没有下一个值
        } else {
            return true;
        }
    }

    //取出下一个值
    @Override
    public Object next() {
        Department department=departments[position];
        position+=1;
        return department;
    }

    @Override
    public void remove() {


    }
}
